/**
 * 给定012字符串S，以及M件普通衣服
 * 当Si为0，可以洗衣服，则之前穿过的衣服全都可以再次使用
 * 当Si为1，可以穿普通衣服也可以穿有logo的
 * 当Si为2，必须穿有logo的
 * 初始没有logo的衣服
 * 当没有需要的衣服时必须买
 * 问最少买几件可以过完S
 * 贪心就行了，有用的就用，没用的就买
 */
#include<bits/stdc++.h>
using namespace std;

using llt = long long;
using vi = vector<int>;

int N, M;
string S;


int proc(){
	int have = M;
	int logo = 0;
	int ans = 0;
	for(char ch : S){
        if('0' == ch){
			have = M;
			logo = ans;
		}else if('1' == ch){
			if(have){
				--have;
			}else if(logo){
				--logo;
			}else{
				++ans;
			}
		}else{
			if(logo) --logo;
			else ++ans; 
		}
	}
	return ans;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
	ios::sync_with_stdio(0); cin.tie(0);cout.tie(0);
    cin >> N >> M >> S;
	cout << proc() << endl;
	return 0;
}